package abs.web.jsf;

import abs.dao.CompaniasDAO;
import abs.dao.DocumentosDAO;
import abs.dao.GrupoClientesDAO;
import abs.dao.GrupoProveedoresDAO;
import abs.dao.ProveedoresDAO;
import abs.dao.RetencionesDAO;
import abs.dao.SucursalesDAO;
import abs.dao.TipoClientesDAO;
import abs.dao.TipoProveedoresDAO;

import abs.domain.Companias;
import abs.domain.Documentos;
import abs.domain.GrupoClientes;
import abs.domain.GrupoProveedores;
import abs.domain.Proveedores;
import abs.domain.Retenciones;
import abs.domain.Sucursales;
import abs.domain.TipoClientes;
import abs.domain.TipoProveedores;

import abs.service.CompaniasService;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.context.annotation.Scope;

import org.springframework.stereotype.Component;

import org.springframework.transaction.annotation.Transactional;

/**
 * Spring Component that handles CRUD requests for Companias entities
 * 
 */
@Scope("session")
@Component("CompaniasComponent")
public class CompaniasComponentImpl implements CompaniasComponent {

	/**
	 * Data type variable that provides CRUD operations for Companias entities
	 * 
	 */
	private Companias companias;

	/**
	 * DAO injected by Spring that manages TipoClientes entities
	 * 
	 */
	private TipoClientes tipoclienteses;

	/**
	 * DAO injected by Spring that manages GrupoProveedores entities
	 * 
	 */
	private GrupoProveedores grupoproveedoreses;

	/**
	 * DAO injected by Spring that manages Retenciones entities
	 * 
	 */
	private Retenciones retencioneses;

	/**
	 * DAO injected by Spring that manages Documentos entities
	 * 
	 */
	private Documentos documentoses;

	/**
	 * DAO injected by Spring that manages TipoProveedores entities
	 * 
	 */
	private TipoProveedores tipoproveedoreses;

	/**
	 * DAO injected by Spring that manages Sucursales entities
	 * 
	 */
	private Sucursales sucursaleses;

	/**
	 * DAO injected by Spring that manages Proveedores entities
	 * 
	 */
	private Proveedores proveedoreses;

	/**
	 * DAO injected by Spring that manages GrupoClientes entities
	 * 
	 */
	private GrupoClientes grupoclienteses;

	/**
	 * DAO injected by Spring that manages Companias entities
	 * 
	 */
	@Autowired
	private CompaniasDAO companiasDAO;

	/**
	 * DAO injected by Spring that manages Documentos entities
	 * 
	 */
	@Autowired
	private DocumentosDAO documentosDAO;

	/**
	 * DAO injected by Spring that manages GrupoClientes entities
	 * 
	 */
	@Autowired
	private GrupoClientesDAO grupoClientesDAO;

	/**
	 * DAO injected by Spring that manages GrupoProveedores entities
	 * 
	 */
	@Autowired
	private GrupoProveedoresDAO grupoProveedoresDAO;

	/**
	 * DAO injected by Spring that manages Proveedores entities
	 * 
	 */
	@Autowired
	private ProveedoresDAO proveedoresDAO;

	/**
	 * DAO injected by Spring that manages Retenciones entities
	 * 
	 */
	@Autowired
	private RetencionesDAO retencionesDAO;

	/**
	 * DAO injected by Spring that manages Sucursales entities
	 * 
	 */
	@Autowired
	private SucursalesDAO sucursalesDAO;

	/**
	 * DAO injected by Spring that manages TipoClientes entities
	 * 
	 */
	@Autowired
	private TipoClientesDAO tipoClientesDAO;

	/**
	 * DAO injected by Spring that manages TipoProveedores entities
	 * 
	 */
	@Autowired
	private TipoProveedoresDAO tipoProveedoresDAO;

	/**
	 * Service injected by Spring that provides CRUD operations for Companias entities
	 * 
	 */
	@Autowired
	private CompaniasService companiasService;

	/** 
	 */
	public CompaniasComponentImpl() {
	}

	/**
	 * Create a new Documentos entity
	 * 
	 */
	@Transactional
	public String newCompaniasDocumentoses(String companias_co000nocia) {
		documentoses = new Documentos();

		return "/jsf/companias/documentoses/createDocumentoses.xhtml";
	}

	/**
	 * Edit an existing TipoClientes entity
	 * 
	 */
	@Transactional
	public String editCompaniasTipoClienteses(String companias_co000nocia, String related_tipoclienteses_tipocl100cdgo) {
		tipoclienteses = tipoClientesDAO.findTipoClientesByPrimaryKey(related_tipoclienteses_tipocl100cdgo, -1, -1);
		return "/jsf/companias/tipoclienteses/editTipoClienteses.xhtml";
	}

	/**
	 * View an existing Retenciones entity
	 * 
	 */
	@Transactional
	public String selectCompaniasRetencioneses(String companias_co000nocia, String related_retencioneses_rt100cdgo) {
		retencioneses = retencionesDAO.findRetencionesByPrimaryKey(related_retencioneses_rt100cdgo, -1, -1);
		return "/jsf/companias/retencioneses/viewRetencioneses.xhtml";
	}

	/**
	 * Show all Retenciones entities by Companias
	 * 
	 */
	@Transactional
	public List<Retenciones> listCompaniasRetencioneses(String co000nociaKey) {
		return new java.util.ArrayList<Retenciones>(companiasDAO.findCompaniasByPrimaryKey(co000nociaKey).getRetencioneses());
	}

	/**
	 * Delete an existing Retenciones entity
	 * 
	 */
	@Transactional
	public String deleteCompaniasRetencioneses(String companias_co000nocia, String related_retencioneses_rt100cdgo) {
		companias = companiasService.deleteCompaniasRetencioneses(companias_co000nocia, related_retencioneses_rt100cdgo);

		return "/jsf/companias/viewCompanias.xhtml";
	}

	/**
	 * Delete an existing GrupoProveedores entity
	 * 
	 */
	@Transactional
	public String deleteCompaniasGrupoProveedoreses(String companias_co000nocia, String related_grupoproveedoreses_grppr100cdgo) {
		companias = companiasService.deleteCompaniasGrupoProveedoreses(companias_co000nocia, related_grupoproveedoreses_grppr100cdgo);

		return "/jsf/companias/viewCompanias.xhtml";
	}

	/**
	 * Show all TipoClientes entities by Companias
	 * 
	 */
	@Transactional
	public List<TipoClientes> listCompaniasTipoClienteses(String co000nociaKey) {
		return new java.util.ArrayList<TipoClientes>(companiasDAO.findCompaniasByPrimaryKey(co000nociaKey).getTipoClienteses());
	}

	/**
	 * Edit an existing GrupoProveedores entity
	 * 
	 */
	@Transactional
	public String editCompaniasGrupoProveedoreses(String companias_co000nocia, String related_grupoproveedoreses_grppr100cdgo) {
		grupoproveedoreses = grupoProveedoresDAO.findGrupoProveedoresByPrimaryKey(related_grupoproveedoreses_grppr100cdgo, -1, -1);
		return "/jsf/companias/grupoproveedoreses/editGrupoProveedoreses.xhtml";
	}

	/**
	 * Create a new TipoClientes entity
	 * 
	 */
	@Transactional
	public String newCompaniasTipoClienteses(String companias_co000nocia) {
		tipoclienteses = new TipoClientes();

		return "/jsf/companias/tipoclienteses/createTipoClienteses.xhtml";
	}

	/**
	 * Edit an existing GrupoClientes entity
	 * 
	 */
	@Transactional
	public String editCompaniasGrupoClienteses(String companias_co000nocia, String related_grupoclienteses_grpcl100cdgo) {
		grupoclienteses = grupoClientesDAO.findGrupoClientesByPrimaryKey(related_grupoclienteses_grpcl100cdgo, -1, -1);
		return "/jsf/companias/grupoclienteses/editGrupoClienteses.xhtml";
	}

	/**
	 * Select the child GrupoProveedores entity for display allowing the user to confirm that they would like to delete the entity
	 * 
	 */
	@Transactional
	public String confirmDeleteCompaniasGrupoProveedoreses(String companias_co000nocia, String related_grupoproveedoreses_grppr100cdgo) {
		grupoproveedoreses = grupoProveedoresDAO.findGrupoProveedoresByPrimaryKey(related_grupoproveedoreses_grppr100cdgo);

		return "/jsf/companias/grupoproveedoreses/deleteGrupoProveedoreses.xhtml";
	}

	/**
	 * Show all Documentos entities by Companias
	 * 
	 */
	@Transactional
	public List<Documentos> listCompaniasDocumentoses(String co000nociaKey) {
		return new java.util.ArrayList<Documentos>(companiasDAO.findCompaniasByPrimaryKey(co000nociaKey).getDocumentoses());
	}

	/**
	 * Select the child GrupoClientes entity for display allowing the user to confirm that they would like to delete the entity
	 * 
	 */
	@Transactional
	public String confirmDeleteCompaniasGrupoClienteses(String companias_co000nocia, String related_grupoclienteses_grpcl100cdgo) {
		grupoclienteses = grupoClientesDAO.findGrupoClientesByPrimaryKey(related_grupoclienteses_grpcl100cdgo);

		return "/jsf/companias/grupoclienteses/deleteGrupoClienteses.xhtml";
	}

	/**
	 * Edit an existing Proveedores entity
	 * 
	 */
	@Transactional
	public String editCompaniasProveedoreses(String companias_co000nocia, Integer related_proveedoreses_pr100copr) {
		proveedoreses = proveedoresDAO.findProveedoresByPrimaryKey(related_proveedoreses_pr100copr, -1, -1);
		return "/jsf/companias/proveedoreses/editProveedoreses.xhtml";
	}

	/**
	 * Create a new Retenciones entity
	 * 
	 */
	@Transactional
	public String newCompaniasRetencioneses(String companias_co000nocia) {
		retencioneses = new Retenciones();

		return "/jsf/companias/retencioneses/createRetencioneses.xhtml";
	}

	/**
	 * Select the child Retenciones entity for display allowing the user to confirm that they would like to delete the entity
	 * 
	 */
	@Transactional
	public String confirmDeleteCompaniasRetencioneses(String companias_co000nocia, String related_retencioneses_rt100cdgo) {
		retencioneses = retencionesDAO.findRetencionesByPrimaryKey(related_retencioneses_rt100cdgo);

		return "/jsf/companias/retencioneses/deleteRetencioneses.xhtml";
	}

	/**
	 * Show all Sucursales entities by Companias
	 * 
	 */
	@Transactional
	public List<Sucursales> listCompaniasSucursaleses(String co000nociaKey) {
		return new java.util.ArrayList<Sucursales>(companiasDAO.findCompaniasByPrimaryKey(co000nociaKey).getSucursaleses());
	}

	/**
	 * Select the child TipoClientes entity for display allowing the user to confirm that they would like to delete the entity
	 * 
	 */
	@Transactional
	public String confirmDeleteCompaniasTipoClienteses(String companias_co000nocia, String related_tipoclienteses_tipocl100cdgo) {
		tipoclienteses = tipoClientesDAO.findTipoClientesByPrimaryKey(related_tipoclienteses_tipocl100cdgo);

		return "/jsf/companias/tipoclienteses/deleteTipoClienteses.xhtml";
	}

	/**
	 * Edit an existing Documentos entity
	 * 
	 */
	@Transactional
	public String editCompaniasDocumentoses(String companias_co000nocia, String related_documentoses_co030codi) {
		documentoses = documentosDAO.findDocumentosByPrimaryKey(related_documentoses_co030codi, -1, -1);
		return "/jsf/companias/documentoses/editDocumentoses.xhtml";
	}

	/**
	 * Getter for variable Companias
	 * 
	 */
	@Transactional
	public Sucursales getSucursaleses() {
		return sucursaleses;
	}

	/**
	 * Select the Companias entity for display allowing the user to confirm that they would like to delete the entity
	 * 
	 */
	@Transactional
	public String confirmDeleteCompanias(String co000nociaKey) {
		companias = companiasDAO.findCompaniasByPrimaryKey(co000nociaKey);

		return "/jsf/companias/deleteCompanias.xhtml";
	}

	/**
	 * Save an existing GrupoProveedores entity
	 * 
	 */
	@Transactional
	public String saveCompaniasGrupoProveedoreses(String companias_co000nocia, GrupoProveedores grupoproveedores) {
		companias = companiasService.saveCompaniasGrupoProveedoreses(companias_co000nocia, grupoproveedores);

		return "/jsf/companias/viewCompanias.xhtml";
	}

	/**
	 * Save an existing Companias entity
	 * 
	 */
	@Transactional
	public String saveCompanias(Companias companias) {
		companiasService.saveCompanias(companias);
		return "/jsf/companias/listCompaniass.xhtml";
	}

	/**
	 * Create a new GrupoProveedores entity
	 * 
	 */
	@Transactional
	public String newCompaniasGrupoProveedoreses(String companias_co000nocia) {
		grupoproveedoreses = new GrupoProveedores();

		return "/jsf/companias/grupoproveedoreses/createGrupoProveedoreses.xhtml";
	}

	/**
	 * Edit an existing Retenciones entity
	 * 
	 */
	@Transactional
	public String editCompaniasRetencioneses(String companias_co000nocia, String related_retencioneses_rt100cdgo) {
		retencioneses = retencionesDAO.findRetencionesByPrimaryKey(related_retencioneses_rt100cdgo, -1, -1);
		return "/jsf/companias/retencioneses/editRetencioneses.xhtml";
	}

	/**
	 * Edit an existing Sucursales entity
	 * 
	 */
	@Transactional
	public String editCompaniasSucursaleses(String companias_co000nocia, String related_sucursaleses_co001cdgo) {
		sucursaleses = sucursalesDAO.findSucursalesByPrimaryKey(related_sucursaleses_co001cdgo, -1, -1);
		return "/jsf/companias/sucursaleses/editSucursaleses.xhtml";
	}

	/**
	 * Getter for variable Companias
	 * 
	 */
	@Transactional
	public TipoProveedores getTipoproveedoreses() {
		return tipoproveedoreses;
	}

	/**
	 * Save an existing Documentos entity
	 * 
	 */
	@Transactional
	public String saveCompaniasDocumentoses(String companias_co000nocia, Documentos documentos) {
		companias = companiasService.saveCompaniasDocumentoses(companias_co000nocia, documentos);

		return "/jsf/companias/viewCompanias.xhtml";
	}

	/**
	 * Edit an existing Companias entity
	 * 
	 */
	@Transactional
	public String editCompanias(String co000nociaKey) {
		companias = companiasDAO.findCompaniasByPrimaryKey(co000nociaKey);

		return "/jsf/companias/editCompanias.xhtml";
	}

	/**
	 * Getter for variable Companias
	 * 
	 */
	@Transactional
	public GrupoClientes getGrupoclienteses() {
		return grupoclienteses;
	}

	/**
	 * Create a new GrupoClientes entity
	 * 
	 */
	@Transactional
	public String newCompaniasGrupoClienteses(String companias_co000nocia) {
		grupoclienteses = new GrupoClientes();

		return "/jsf/companias/grupoclienteses/createGrupoClienteses.xhtml";
	}

	/**
	 * View an existing Proveedores entity
	 * 
	 */
	@Transactional
	public String selectCompaniasProveedoreses(String companias_co000nocia, Integer related_proveedoreses_pr100copr) {
		proveedoreses = proveedoresDAO.findProveedoresByPrimaryKey(related_proveedoreses_pr100copr, -1, -1);
		return "/jsf/companias/proveedoreses/viewProveedoreses.xhtml";
	}

	/**
	 * Delete an existing GrupoClientes entity
	 * 
	 */
	@Transactional
	public String deleteCompaniasGrupoClienteses(String companias_co000nocia, String related_grupoclienteses_grpcl100cdgo) {
		companias = companiasService.deleteCompaniasGrupoClienteses(companias_co000nocia, related_grupoclienteses_grpcl100cdgo);

		return "/jsf/companias/viewCompanias.xhtml";
	}

	/**
	 * Select the child TipoProveedores entity for display allowing the user to confirm that they would like to delete the entity
	 * 
	 */
	@Transactional
	public String confirmDeleteCompaniasTipoProveedoreses(String companias_co000nocia, String related_tipoproveedoreses_tipopr100cdgo) {
		tipoproveedoreses = tipoProveedoresDAO.findTipoProveedoresByPrimaryKey(related_tipoproveedoreses_tipopr100cdgo);

		return "/jsf/companias/tipoproveedoreses/deleteTipoProveedoreses.xhtml";
	}

	/**
	 * View an existing Documentos entity
	 * 
	 */
	@Transactional
	public String selectCompaniasDocumentoses(String companias_co000nocia, String related_documentoses_co030codi) {
		documentoses = documentosDAO.findDocumentosByPrimaryKey(related_documentoses_co030codi, -1, -1);
		return "/jsf/companias/documentoses/viewDocumentoses.xhtml";
	}

	/**
	 * Select an existing Companias entity
	 * 
	 */
	@Transactional
	public String selectCompanias(String co000nociaKey) {
		companias = companiasDAO.findCompaniasByPrimaryKey(co000nociaKey);

		return "/jsf/companias/viewCompanias.xhtml";
	}

	/**
	 * Save an existing Proveedores entity
	 * 
	 */
	@Transactional
	public String saveCompaniasProveedoreses(String companias_co000nocia, Proveedores proveedores) {
		companias = companiasService.saveCompaniasProveedoreses(companias_co000nocia, proveedores);

		return "/jsf/companias/viewCompanias.xhtml";
	}

	/**
	 * Select the child Proveedores entity for display allowing the user to confirm that they would like to delete the entity
	 * 
	 */
	@Transactional
	public String confirmDeleteCompaniasProveedoreses(String companias_co000nocia, Integer related_proveedoreses_pr100copr) {
		proveedoreses = proveedoresDAO.findProveedoresByPrimaryKey(related_proveedoreses_pr100copr);

		return "/jsf/companias/proveedoreses/deleteProveedoreses.xhtml";
	}

	/**
	 * Getter for variable Companias
	 * 
	 */
	@Transactional
	public Proveedores getProveedoreses() {
		return proveedoreses;
	}

	/**
	 * Getter for variable Companias
	 * 
	 */
	@Transactional
	public Documentos getDocumentoses() {
		return documentoses;
	}

	/**
	 * Show all TipoProveedores entities by Companias
	 * 
	 */
	@Transactional
	public List<TipoProveedores> listCompaniasTipoProveedoreses(String co000nociaKey) {
		return new java.util.ArrayList<TipoProveedores>(companiasDAO.findCompaniasByPrimaryKey(co000nociaKey).getTipoProveedoreses());
	}

	/**
	 * Delete an existing Proveedores entity
	 * 
	 */
	@Transactional
	public String deleteCompaniasProveedoreses(String companias_co000nocia, Integer related_proveedoreses_pr100copr) {
		companias = companiasService.deleteCompaniasProveedoreses(companias_co000nocia, related_proveedoreses_pr100copr);

		return "/jsf/companias/viewCompanias.xhtml";
	}

	/**
	 * View an existing Sucursales entity
	 * 
	 */
	@Transactional
	public String selectCompaniasSucursaleses(String companias_co000nocia, String related_sucursaleses_co001cdgo) {
		sucursaleses = sucursalesDAO.findSucursalesByPrimaryKey(related_sucursaleses_co001cdgo, -1, -1);
		return "/jsf/companias/sucursaleses/viewSucursaleses.xhtml";
	}

	/**
	 * Save an existing TipoClientes entity
	 * 
	 */
	@Transactional
	public String saveCompaniasTipoClienteses(String companias_co000nocia, TipoClientes tipoclientes) {
		companias = companiasService.saveCompaniasTipoClienteses(companias_co000nocia, tipoclientes);

		return "/jsf/companias/viewCompanias.xhtml";
	}

	/**
	 * Select the child Sucursales entity for display allowing the user to confirm that they would like to delete the entity
	 * 
	 */
	@Transactional
	public String confirmDeleteCompaniasSucursaleses(String companias_co000nocia, String related_sucursaleses_co001cdgo) {
		sucursaleses = sucursalesDAO.findSucursalesByPrimaryKey(related_sucursaleses_co001cdgo);

		return "/jsf/companias/sucursaleses/deleteSucursaleses.xhtml";
	}

	/**
	 * Create a new TipoProveedores entity
	 * 
	 */
	@Transactional
	public String newCompaniasTipoProveedoreses(String companias_co000nocia) {
		tipoproveedoreses = new TipoProveedores();

		return "/jsf/companias/tipoproveedoreses/createTipoProveedoreses.xhtml";
	}

	/**
	 * Show all Companias entities
	 * 
	 */
	@Transactional
	public List<Companias> listCompaniass() {
		return new java.util.ArrayList<Companias>(companiasService.loadCompaniass());
	}

	/**
	 * Delete an existing TipoProveedores entity
	 * 
	 */
	@Transactional
	public String deleteCompaniasTipoProveedoreses(String companias_co000nocia, String related_tipoproveedoreses_tipopr100cdgo) {
		companias = companiasService.deleteCompaniasTipoProveedoreses(companias_co000nocia, related_tipoproveedoreses_tipopr100cdgo);

		return "/jsf/companias/viewCompanias.xhtml";
	}

	/**
	 * View an existing GrupoProveedores entity
	 * 
	 */
	@Transactional
	public String selectCompaniasGrupoProveedoreses(String companias_co000nocia, String related_grupoproveedoreses_grppr100cdgo) {
		grupoproveedoreses = grupoProveedoresDAO.findGrupoProveedoresByPrimaryKey(related_grupoproveedoreses_grppr100cdgo, -1, -1);
		return "/jsf/companias/grupoproveedoreses/viewGrupoProveedoreses.xhtml";
	}

	/**
	 * Create a new Proveedores entity
	 * 
	 */
	@Transactional
	public String newCompaniasProveedoreses(String companias_co000nocia) {
		proveedoreses = new Proveedores();

		return "/jsf/companias/proveedoreses/createProveedoreses.xhtml";
	}

	/**
	 * Show all GrupoClientes entities by Companias
	 * 
	 */
	@Transactional
	public List<GrupoClientes> listCompaniasGrupoClienteses(String co000nociaKey) {
		return new java.util.ArrayList<GrupoClientes>(companiasDAO.findCompaniasByPrimaryKey(co000nociaKey).getGrupoClienteses());
	}

	/**
	 * Delete an existing Companias entity
	 * 
	 */
	@Transactional
	public String deleteCompanias(String co000nociaKey) {
		Companias companias = companiasDAO.findCompaniasByPrimaryKey(co000nociaKey);
		companiasService.deleteCompanias(companias);
		return "/jsf/companias/listCompaniass.xhtml";
	}

	/**
	 * Save an existing GrupoClientes entity
	 * 
	 */
	@Transactional
	public String saveCompaniasGrupoClienteses(String companias_co000nocia, GrupoClientes grupoclientes) {
		companias = companiasService.saveCompaniasGrupoClienteses(companias_co000nocia, grupoclientes);

		return "/jsf/companias/viewCompanias.xhtml";
	}

	/**
	 * Save an existing TipoProveedores entity
	 * 
	 */
	@Transactional
	public String saveCompaniasTipoProveedoreses(String companias_co000nocia, TipoProveedores tipoproveedores) {
		companias = companiasService.saveCompaniasTipoProveedoreses(companias_co000nocia, tipoproveedores);

		return "/jsf/companias/viewCompanias.xhtml";
	}

	/**
	 * Show all GrupoProveedores entities by Companias
	 * 
	 */
	@Transactional
	public List<GrupoProveedores> listCompaniasGrupoProveedoreses(String co000nociaKey) {
		return new java.util.ArrayList<GrupoProveedores>(companiasDAO.findCompaniasByPrimaryKey(co000nociaKey).getGrupoProveedoreses());
	}

	/**
	 * Getter for variable Companias
	 * 
	 */
	@Transactional
	public TipoClientes getTipoclienteses() {
		return tipoclienteses;
	}

	/**
	 * Getter for variable Companias
	 * 
	 */
	@Transactional
	public Retenciones getRetencioneses() {
		return retencioneses;
	}

	/**
	 * Delete an existing TipoClientes entity
	 * 
	 */
	@Transactional
	public String deleteCompaniasTipoClienteses(String companias_co000nocia, String related_tipoclienteses_tipocl100cdgo) {
		companias = companiasService.deleteCompaniasTipoClienteses(companias_co000nocia, related_tipoclienteses_tipocl100cdgo);

		return "/jsf/companias/viewCompanias.xhtml";
	}

	/**
	 * View an existing TipoClientes entity
	 * 
	 */
	@Transactional
	public String selectCompaniasTipoClienteses(String companias_co000nocia, String related_tipoclienteses_tipocl100cdgo) {
		tipoclienteses = tipoClientesDAO.findTipoClientesByPrimaryKey(related_tipoclienteses_tipocl100cdgo, -1, -1);
		return "/jsf/companias/tipoclienteses/viewTipoClienteses.xhtml";
	}

	/**
	 * Save an existing Sucursales entity
	 * 
	 */
	@Transactional
	public String saveCompaniasSucursaleses(String companias_co000nocia, Sucursales sucursales) {
		companias = companiasService.saveCompaniasSucursaleses(companias_co000nocia, sucursales);

		return "/jsf/companias/viewCompanias.xhtml";
	}

	/**
	 * Delete an existing Sucursales entity
	 * 
	 */
	@Transactional
	public String deleteCompaniasSucursaleses(String companias_co000nocia, String related_sucursaleses_co001cdgo) {
		companias = companiasService.deleteCompaniasSucursaleses(companias_co000nocia, related_sucursaleses_co001cdgo);

		return "/jsf/companias/viewCompanias.xhtml";
	}

	/**
	 * Getter for variable Companias
	 * 
	 */
	@Transactional
	public Companias getCompanias() {
		return companias;
	}

	/**
	 * Edit an existing TipoProveedores entity
	 * 
	 */
	@Transactional
	public String editCompaniasTipoProveedoreses(String companias_co000nocia, String related_tipoproveedoreses_tipopr100cdgo) {
		tipoproveedoreses = tipoProveedoresDAO.findTipoProveedoresByPrimaryKey(related_tipoproveedoreses_tipopr100cdgo, -1, -1);
		return "/jsf/companias/tipoproveedoreses/editTipoProveedoreses.xhtml";
	}

	/**
	 * Create a new Companias entity
	 * 
	 */
	@Transactional
	public String newCompanias() {
		companias = new Companias();

		return "/jsf/companias/createCompanias.xhtml";
	}

	/**
	 * Delete an existing Documentos entity
	 * 
	 */
	@Transactional
	public String deleteCompaniasDocumentoses(String companias_co000nocia, String related_documentoses_co030codi) {
		companias = companiasService.deleteCompaniasDocumentoses(companias_co000nocia, related_documentoses_co030codi);

		return "/jsf/companias/viewCompanias.xhtml";
	}

	/**
	 * Create a new Sucursales entity
	 * 
	 */
	@Transactional
	public String newCompaniasSucursaleses(String companias_co000nocia) {
		sucursaleses = new Sucursales();

		return "/jsf/companias/sucursaleses/createSucursaleses.xhtml";
	}

	/**
	 * Getter for variable Companias
	 * 
	 */
	@Transactional
	public GrupoProveedores getGrupoproveedoreses() {
		return grupoproveedoreses;
	}

	/**
	 * View an existing TipoProveedores entity
	 * 
	 */
	@Transactional
	public String selectCompaniasTipoProveedoreses(String companias_co000nocia, String related_tipoproveedoreses_tipopr100cdgo) {
		tipoproveedoreses = tipoProveedoresDAO.findTipoProveedoresByPrimaryKey(related_tipoproveedoreses_tipopr100cdgo, -1, -1);
		return "/jsf/companias/tipoproveedoreses/viewTipoProveedoreses.xhtml";
	}

	/**
	 * Save an existing Retenciones entity
	 * 
	 */
	@Transactional
	public String saveCompaniasRetencioneses(String companias_co000nocia, Retenciones retenciones) {
		companias = companiasService.saveCompaniasRetencioneses(companias_co000nocia, retenciones);

		return "/jsf/companias/viewCompanias.xhtml";
	}

	/**
	 * Select the child Documentos entity for display allowing the user to confirm that they would like to delete the entity
	 * 
	 */
	@Transactional
	public String confirmDeleteCompaniasDocumentoses(String companias_co000nocia, String related_documentoses_co030codi) {
		documentoses = documentosDAO.findDocumentosByPrimaryKey(related_documentoses_co030codi);

		return "/jsf/companias/documentoses/deleteDocumentoses.xhtml";
	}

	/**
	 * View an existing GrupoClientes entity
	 * 
	 */
	@Transactional
	public String selectCompaniasGrupoClienteses(String companias_co000nocia, String related_grupoclienteses_grpcl100cdgo) {
		grupoclienteses = grupoClientesDAO.findGrupoClientesByPrimaryKey(related_grupoclienteses_grpcl100cdgo, -1, -1);
		return "/jsf/companias/grupoclienteses/viewGrupoClienteses.xhtml";
	}

	/**
	 * Show all Proveedores entities by Companias
	 * 
	 */
	@Transactional
	public List<Proveedores> listCompaniasProveedoreses(String co000nociaKey) {
		return new java.util.ArrayList<Proveedores>(companiasDAO.findCompaniasByPrimaryKey(co000nociaKey).getProveedoreses());
	}

}
